package collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;

/**  Collection接口的演示  */
public class CollectionDemo {
    public static void main(String[] args) {
        Collection c =new ArrayList();
        c.add(new Point(1,2));
        c.add(new Point(3,4));
        c.add(new Point(5,6));
        c.add(new Point(7,8));
        c.add(new Point(9,0));
        c.add(new Point(1,2));
        //[元素1.toString(),元素2.toString(),元素3.toString(),元素4.toString(),...]
        System.out.println(c);//[(1,2), (3,4), (5,6), (7,8), (9,0), (1,2)]


        /*
           boolean contains(object o)
           判断当前集合是否包含给定元素o
           判断依据是给定元素是否与当前集合存在equals（）比较为true得情况
         */
        Point p = new Point(1,2);
        boolean contains = c.contains(p);
        System.out.println("是否包含："+contains);//true

        /*
          boolean remove(Object o)------一般不接收boolean结果
          从当前集合中删除与给定元素o的equlas()比较为true的元素
          若存在重复元素，则只删除一次
        */
        c.remove(p);
        System.out.println(c);//[(3,4), (5,6), (7,8), (9,0), (1,2)]
        c.remove(p);
        System.out.println(c);//[(3,4), (5,6), (7,8), (9,0)]


        Collection cc = new ArrayList();
        Point pp = new Point(1,2);
        cc.add(pp);//将pp添加到cc中-------将pp的引用装到了cc中
        System.out.println("pp:"+pp);//(1,2)
        System.out.println("cc:"+cc);//[(1,2)]
        pp.setX(100);
        System.out.println("pp:"+pp);//(100,2)
        System.out.println("cc:"+cc);//[(100,2)]































        /*
        Collection c = new ArrayList();
        c.add("one");
        c.add("two");
        c.add("three");
        c.add("four");
        c.add("five");
        //直接输出c  表示集合都重写了Object的toString（）。返回格式如下
        //[元素1.toString(),元素2.toString(),元素3.toString(),元素4.toString(),...]
        System.out.println(c);//[one, two, three, four, five]

        System.out.println("size:"+c.size());//输出集合的元素个数
        //isEmpty()判断集合是否为空集（size()为0表示空集）
        System.out.println("是否为空集"+c.isEmpty());//false

        c.clear();//清空集合
        System.out.println("集合已清空");
        System.out.println(c);//[]
        System.out.println("size:"+c.size());//0
        System.out.println("是否为空集"+c.isEmpty());//true

*/





     /*
        Collection c1 = new ArrayList();//可重复，有序
        c1.add("aaa");
        c1.add("bbb");
        c1.add("ccc");
        c1.add("ddd");
        c1.add("aaa");
        System.out.println(c1);

        Collection c2 = new HashSet();//不可重复，无序
        c2.add("aaa");
        c2.add("bbb");
        c2.add("ccc");
        c2.add("ddd");
        c2.add("aaa");
        System.out.println(c2);
*/
    }
}
